package cn.t235.mapper;

import cn.t235.pojo.SysRole;
import cn.t235.pojo.SysUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author 天天向上 （john.yi@qq.com）
 * @date 2020/10/20.
 */
public interface SysUserMapper {
    /**
     * 方法名字跟映射文件中id一致
     * @return
     */
    int getCount();
    List<SysUser> getAll();

    int add(SysUser user);
    int delete(Integer id);
    int update(SysUser user);

    SysUser get(Integer id);
    List<SysUser> getByRealNameAndRoleId(@Param("realName") String realName,
                                         @Param("roleId") Integer roleId);
    List<SysUser> getByUser(SysUser user);

    List<SysUser> getByUserWithRole(SysUser user);

//    List<SysUser> getByRealNameAndRoleIds(@Param("realName") String realName,
//                                          @Param("roleIds")Integer[] roleIds);
    List<SysUser> getByRealNameAndRoleIds(@Param("realName") String realName,
                                          @Param("roleIds")List<Integer> roleIds,
                                          @Param("from") int from,
                                          @Param("pageSize") int pageSize);
    int getByRealNameAndRoleIdsCount(@Param("realName") String realName,
                                          @Param("roleIds")List<Integer> roleIds);
    List<SysUser> getByRealNameAndRoleIdWithMap(Map<String, Object> map);
}
